# 集合的创建
s = set()
print(s, type(s))
s1 = {1,2,3,4,5,6,7,8,9}  # 不可重复，重复元素将被覆盖掉
print(s1, type(s1))

# 类型转换
s2 = set([1,2,3])  # list -> set
print(s2, type(s2))
s3 = set((1,2,3))  # tuple -> set
print(s3, type(s3))
s4 = set('1234567890')  # str -> set 将所有单个字符拆出来并无序组合
print(s4, type(s4))
s5 = set({'name':'John', 'age':22})  # dict -> set 只将key转换成集合
print(s5, type(s5))

# in
print(1 in s1)
# len
print(len(s1))

# 集合的遍历
print('--------------')
for i in s1:
    print(i)

# 常用方法
s1.add(10)  # 插入一个新元素
s1.remove(10)  # 删除一个元素
'''
.update()
.copy()
名字和字典相同的方法，效果基本相同
'''

# 交集  并集
ss1 = {1,2,3,4,5,6}
ss2 = {4,5,6,7,8,9}
print(ss1 & ss2)  # 交集
print(ss1 | ss2)  # 并集

# 列表去重
# 将列表转换为集合
# 统计各个分数段有几人
score = [60,70,70,80,80,80,90]
score_set = set(score)
for i in score_set:
    num = score.count(i)
    print("得分为%d的学生有%d人" %(i, num))
